home *** CD-ROM | disk | FTP | other *** search
/ Die Ultimative Software-P…i Collection 1996 & 1997 / Die Ultimative Software-Pakete CD-ROM fur Atari Collection 1996 & 1997.iso / p / paintcol / compress / ca_pack.lst < prev    next >
Encoding:
File List  |  1996-10-30  |  2.1 KB  |  76 lines

  1. '
  2. '
  3. ' CRACK ART 'CA_PACK'
  4. '
  5. ' Kompressionsroutine für CA?-Bilder
  6. '
  7. ' © Detlef Röttger & Jan Borchers 1989-91
  8. '
  9. '
  10. INLINE ca_pack%,590
  11. '
  12. resolution&=XBIOS(4)                            ! Auflösung holen
  13. IF resolution&>2                                ! keine ST-Auflösung
  14.   END
  15. ENDIF
  16. '
  17. DO
  18.   fpath$=CHR$(GEMDOS(25)+65)+":"+DIR$(0)+"\*.CA"+CHR$(resolution&+49)
  19.   FILESELECT #"SAVE CA",fpath$,"",fname$        ! File auswählen
  20.   CLS
  21.   IF fname$=""                                  ! Abbruch
  22.     END
  23.   ENDIF
  24.   '
  25.   FOR i&=1 TO 50
  26.     DEFFILL RANDOM(16),1,0
  27.     PCIRCLE RANDOM(WORK_OUT(0)),RANDOM(WORK_OUT(1)),RANDOM(50)
  28.   NEXT i&
  29.   '
  30.   buffer$=STRING$(32000,0)                      ! Buffer reservieren
  31.   HIDEM
  32.   len%=C:ca_pack%(L:XBIOS(2),L:V:buffer$)       ! Image packen
  33.   SHOWM
  34.   '
  35.   PRINT AT(1,1);"Bild von 32000 Bytes auf ";len%;" Bytes (";
  36.   PRINT INT(100*len%/32000);"%) gepackt."
  37.   '
  38.   OPEN "O",#1,fname$                            ! File öffnen
  39.   '
  40.   SELECT resolution&
  41.     '
  42.   CASE 0                                        ! Low Res
  43.     header$=STRING$(4+32,0)
  44.     DPOKE V:header$,&H4341                      ! 'CA'-Kennung
  45.     DPOKE V:header$+2,&H100                     ! Low Res gepackt
  46.     FOR i&=0 TO 15                              ! 16 Farben
  47.       DPOKE V:header$+4+i&*2,XBIOS(7,W:i&,W:-1) AND &H777
  48.     NEXT i&
  49.     BPUT #1,V:header$,4+32
  50.     '
  51.   CASE 1                                        ! Med Res
  52.     header$=STRING$(4+8,0)
  53.     DPOKE V:header$,&H4341                      ! 'CA'-Kennung
  54.     DPOKE V:header$+2,&H101                     ! Med Res gepackt
  55.     FOR i&=0 TO 3                               ! 4 Farben
  56.       DPOKE V:header$+4+i&*2,XBIOS(7,W:i&,W:-1) AND &H777
  57.     NEXT i&
  58.     BPUT #1,V:header$,4+8
  59.     '
  60.   CASE 2                                        ! High Res
  61.     header$=STRING$(4,0)
  62.     DPOKE V:header$,&H4341                      ! 'CA'-Kennung
  63.     DPOKE V:header$+2,&H102                     ! High Res gepackt
  64.     BPUT #1,V:header$,4
  65.     '
  66.   ENDSELECT
  67.   '
  68.   BPUT #1,V:buffer$,len%
  69.   CLOSE #1
  70.   '
  71.   WHILE MOUSEK
  72.   WEND
  73.   REPEAT
  74.   UNTIL MOUSEK
  75. LOOP
  76.